<template>
    <nav class="navbar navbar-dark bg-primary justify-content-between mb-4 px-4">
        <router-link to="/" class="navbar-brand">专栏</router-link>
        <slot></slot>
        <ul v-if="!user.isLogin" class="list-inline mb-0">
            <li class="list-inline-item"><router-link to="/login" class="btn btn-outline-light my-2">登录</router-link></li>
            <li class="list-inline-item"><router-link to="/signup" class="btn btn-outline-light my-2">注册</router-link></li>
        </ul>
        <ul v-else class="list-inline mb-0">
            <li class="list-inline-item">
                <drop-down :title="`${user.nickName}`">
                    <dropdown-item><router-link to="/create" class="dropdown-item">新建文章</router-link></dropdown-item>
                    <dropdown-item><router-link :to='`/column/${user.column}`' class="dropdown-item">我的专栏</router-link></dropdown-item>
                    <dropdown-item disabled><router-link to="/" class="dropdown-item">设置</router-link></dropdown-item>
                    <dropdown-item><router-link to="/" class="dropdown-item">退出登录</router-link></dropdown-item>
                </drop-down>
            </li>
        </ul>
    </nav>
</template>

<script lang="ts">
import DropDown from './DropDown.vue'
import DropdownItem from './DropdownItem.vue'
import { defineComponent, PropType } from 'vue'
import { UserProps } from '@/store'

export default defineComponent({
    name: 'GlobalHeader',
    props: {
        user: {
            type: Object as PropType<UserProps>,
            required: true
        }
    },
    components: {
        DropDown,
        DropdownItem
    },
    setup() {
        return {}
    }
})
</script>

<style>

</style>